Text Preprocessing হলো যেকোনো প্রাকৃতিক ভাষা প্রক্রিয়াকরণের (NLP) প্রথম ধাপ, যার মাধ্যমে কাঁচা বা অপরিশোধিত টেক্সট ডেটাকে বিশ্লেষণযোগ্য ফর্মে রূপান্তরিত করা হয়। এটি একটি গুরুত্বপূর্ণ প্রক্রিয়া, যা মডেল তৈরির আগে ডেটার গুণগত মান উন্নত করতে সাহায্য করে। Tokenization এবং Stopwords Removal হলো টেক্সট প্রক্রিয়াকরণের দুটি গুরুত্বপূর্ণ এবং মৌলিক পদক্ষেপ।
Tokenization হলো টেক্সট ডেটাকে ছোট ছোট অংশে (যেমন শব্দ বা বাক্য) ভাগ করার প্রক্রিয়া। এই ছোট অংশগুলোকে tokens বলা হয়। Tokenization হলো প্রাকৃতিক ভাষা প্রক্রিয়াকরণের প্রথম এবং মৌলিক পদক্ষেপ, যেটি মেশিনের জন্য পাঠ্য বিশ্লেষণ সহজ করে তোলে।
Stopwords Removal হলো টেক্সট থেকে এমন শব্দগুলো সরানোর প্রক্রিয়া যেগুলোর অর্থ সাধারণত কম গুরুত্বপূর্ণ বা অপাঙক্তেয়। এই ধরনের শব্দগুলি প্রায়ই সাধারণ এবং বারবার ব্যবহৃত হয়, যেমন "is", "the", "in", "at", "on", "a", "and" ইত্যাদি। এই শব্দগুলি সাধারণত টেক্সট প্রক্রিয়াকরণের সময় মডেলকে বিভ্রান্ত করতে পারে, তাই তাদের সরিয়ে ফেলা হয়।
Tokenization এবং Stopwords Removal একে অপরের সাথে সম্পর্কিত। প্রথমে টেক্সটকে টোকেনাইজ করা হয়, অর্থাৎ শব্দ বা বাক্যে ভাগ করা হয়, তারপর Stopwords Removal প্রক্রিয়া চলে যেখানে স্টপওয়ার্ডগুলো সরানো হয়। এই দুটি প্রক্রিয়া একসাথে মডেলের জন্য আরও পরিষ্কার এবং নির্ভুল ডেটা তৈরি করতে সহায়ক।
Python-এ nltk
(Natural Language Toolkit) লাইব্রেরি ব্যবহার করে টোকেনাইজেশন এবং স্টপওয়ার্ড রিমুভাল করা যায়।
import nltk
from nltk.tokenize import word_tokenize, sent_tokenize
# Sample text
text = "I love programming. It is fun and exciting."
# Sentence tokenization
sentences = sent_tokenize(text)
print("Sentence Tokenization:", sentences)
# Word tokenization
words = word_tokenize(text)
print("Word Tokenization:", words)
from nltk.corpus import stopwords
# Download the stopwords
nltk.download('stopwords')
# Define stopwords
stop_words = set(stopwords.words('english'))
# Example text
text = "This is an example sentence, showing off the stop words filtration."
# Tokenize text into words
words = word_tokenize(text)
# Remove stopwords
filtered_words = [word for word in words if word.lower() not in stop_words]
print("Filtered Words:", filtered_words)
Read more